package com.exp.bookhouse.service;

import com.baomidou.mybatisplus.core.metadata.IPage;
import com.exp.bookhouse.pojo.Order;
import com.exp.bookhouse.pojo.vo.TableVo;

import java.util.List;

public interface OrderService {

    //保存订单
    void saveOrder(Order order) throws Exception;

    //分页查询订单信息
    IPage<Order> getAllOrder(Integer pageNum, Integer pageSize, Integer payStatus, String openid);

    //分页查询订单列表
    IPage<Order> queryOrderByPage(Integer page, Integer size);

    //查询订单和细节
    Order queryOrderDetail(Long id);

    //查询订单数量
    int queryCountOrder();

    //查询订单总额
    String queryOrderTotalPrice();

    //查询本月的订单及细节
    List<TableVo> queryOrderByMonth();

    //查询本月的订单总额
    String queryOrderTotalPriceByMonth();

    //查询本日的订单及细节
    List<TableVo> queryOrderByDay();

    //查询本日的订单总额
    String queryOrderTotalPriceByDay() throws Exception;

    //查询本年的订单及细节
    List<TableVo> queryOrderByYear();

    //查询本年订单总额
    String queryOrderTotalPriceByYear();

    //根据用户名称查询订单
    List<Order> getOrderByName(String name);

    //查询全部订单
    List<Order> queryAllOrder();

    //查询全部的订单及细节
    List<TableVo> queryOrderAll();
}
